package appVeterinaria.negocio;

import java.util.Collection;
import appVeterinaria.dao.CitaDAO;
import appVeterinaria.excepcion.DAOExcepcion;
import appVeterinaria.modelo.Cita;
import appVeterinaria.modelo.Cliente;
import appVeterinaria.modelo.Doctor;
import appVeterinaria.modelo.Historia;
import appVeterinaria.modelo.Paciente;
import appVeterinaria.modelo.Servicio;



public class GestionCitas {

	public Collection<Cita> buscarPorCodigo(int idCita)
			throws DAOExcepcion {
		CitaDAO dao = new CitaDAO();
		return dao.buscarPorCodigo(idCita);
	}
	
	
	
	public Cita insertar(int idCita, String fecha_cita, String diagnostico,
			int idPaciente, int idCliente, int idDoctor, String receta)
			throws DAOExcepcion {

		Doctor objDoctor = new Doctor();
		objDoctor.setIdPersona(idDoctor);

		Cliente objCliente = new Cliente();
		objCliente.setIdPersona(idCliente);

		Historia historia = new Historia();
		historia.setReceta(receta);

		Paciente objPaciente = new Paciente();
		objPaciente.setIdPaciente(idPaciente);
		objPaciente.setObjCliente(objCliente);
		objPaciente.setHistoria(historia);

		CitaDAO dao = new CitaDAO();
		Cita cita = new Cita();

		cita.setIdCita(idCita);
		cita.setFecha_cita(fecha_cita);
		cita.setDiagnostico(diagnostico);

		// cita.getObjPaciente().setIdPaciente(idPaciente);
		// cita.getObjPaciente().getObjCliente().setIdPersona(idCliente);
		// cita.getObjPaciente().getHistoria().setReceta(receta);
		cita.setObjPaciente(objPaciente);
		// cita.getObjDoctor().setIdPersona(idDoctor);}
		cita.setObjDoctor(objDoctor);
		return dao.insertar(cita);

	}
	

	public Cita obtener(int idCita) throws DAOExcepcion {
		CitaDAO dao = new CitaDAO();
		return dao.obtener(idCita);
	}

	public void eliminar(int idPersona) throws DAOExcepcion {
		CitaDAO dao = new CitaDAO();
		dao.eliminar(idPersona);
	}

	public Cita actualizar(int idCita, String fecha_cita, String diagnostico,
			int idPaciente, int idCliente, int idDoctor, String receta) throws DAOExcepcion {
		
/*
		Cita vo = new Cita();
		vo.setIdCita(idCita);
		vo.setFecha_cita(fecha_cita);
		vo.setDiagnostico(diagnostico);
		vo.setIdCita(idCita);
		vo.setFecha_cita(fecha_cita);
		vo.setDiagnostico(diagnostico);
		vo.getObjPaciente().setIdPaciente(idPaciente);
		vo.getObjPaciente().getObjCliente().setIdPersona(idCliente);
		vo.getObjDoctor().setIdPersona(idDoctor);
		vo.getObjPaciente().getHistoria().setReceta(receta);
			
		
			return dao.actualizar(vo);
	*/
		
		Doctor objDoctor = new Doctor();
		objDoctor.setIdPersona(idDoctor);

		Cliente objCliente = new Cliente();
		objCliente.setIdPersona(idCliente);

		Historia historia = new Historia();
		historia.setReceta(receta);

		Paciente objPaciente = new Paciente();
		objPaciente.setIdPaciente(idPaciente);
		objPaciente.setObjCliente(objCliente);
		objPaciente.setHistoria(historia);

		CitaDAO dao = new CitaDAO();
		Cita cita = new Cita();

		cita.setIdCita(idCita);
		cita.setFecha_cita(fecha_cita);
		cita.setDiagnostico(diagnostico);
		return cita;
		
		
		
								
		
	}

	public Collection<Cita> listar() throws DAOExcepcion {
		CitaDAO dao = new CitaDAO();
		return dao.listarCitas();
	}
	
	

}
